package com.woniu108.car.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu108.car.model.CarBrand;
import com.woniu108.car.param.*;

import java.util.List;

/**
 * <p>
 * 车辆品牌表 服务类
 * </p>
 *
 * @author yanxi
 * @since 2024-05-23
 */
public interface CarBrandService extends IService<CarBrand> {


    /**
     * 查询所有未删除汽车品牌
     *
     * @return CarBrand集合
     */
    List<CarBrand> findAllCarBrand();
    /**
     * 查询所有正常汽车品牌
     * @return CarBrand集合
     */
    List<CarBrand> findAllNormalCarBrand();

    /**
     * 新增汽车品牌
     * @param param param  名字，logo，管理员id
     * @return boolean值
     * @throws Exception 文件和权限异常
     */
    Boolean insertCarBrand(InsertCarBrandParam param) throws Exception;
    /**
     * 删除汽车品牌
     *
     * @param param  品牌id集合，管理员id
     * @return boolean值
     */
    Boolean deleteCarBrand(DeleteCarBrandParam param);
    /**
     * 禁用汽车品牌
     *
     * @param param  品牌id集合，管理员id
     * @return boolean值
     */
    Boolean banCarBrand(BanCarBrandParam param);
    /**
     * 解锁汽车品牌
     *
     * @param param  品牌id集合，管理员id
     * @return boolean值
     */
    Boolean unlockCarBrand(UnlockCarBrandParam param);

    /**
     * 修改汽车品牌logo
     * @param param 品牌id，图片文件 管理员id
     * @return boolean值
     * @throws Exception 相关错误
     */
    Boolean updateCarBrandImage(UpdateCarBrandImageParam param) throws Exception;


}
